home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 July: Mac OS SDK / Dev.CD Jul 96 SDK / Dev.CD Jul 96 SDK1.toast / Development Kits (Disc 1) / OpenDoc Development Framework / Getting Started / MPW Development / MPW Additions / UserStartup•somc < prev    next >
Encoding:
Text File  |  1995-10-27  |  2.7 KB  |  59 lines  |  [TEXT/MPS ]

  1. #
  2. #    MPW shell variable settings for SOM development.
  3. #
  4.  
  5.  
  6. #
  7. #    {SOMIncludes}    This variable is used by the SOM compiler, somc.
  8. #                    Is specifies the folder(s) for the SOM .idl
  9. #                    include header files.  To have more than one
  10. #                    default directory, this variable may be expressed
  11. #                    as a comma separated list.  Example:
  12. #
  13. #        Set    SOMIncludes    ":,{MPW}Interfaces:SOMIncludes:"
  14. #
  15. Set        SOMIncludes        "{MPW}Interfaces:SOMIncludes:"
  16. Export    SOMIncludes
  17.  
  18.  
  19. #
  20. #    {SOMDefines}    This variable is used by the SOM compiler, somc.
  21. #                    It specifies pre-defined macros for ifdef processing 
  22. #                    of ≈.idl include files (not c/c++ files).
  23. #
  24. Set        SOMDefines        "-D __MAC__ -D __SOMIDL__"
  25. Export    SOMDefines
  26.  
  27.  
  28. #
  29. #    {SOMOptions}    This variable is used by the SOM compiler, somc.
  30. #                    It specifies -m modifier options used in generation
  31. #                    of language specific header files during execution of somc.
  32. #
  33. #                    Note: set -mcpluscpp to generate .cpp files for c++ the xc emitter
  34. #                          set -mcplusc   to generate .C files for c++ the xc emitter
  35. #                          (default is .cp for c++ the xc emitter)
  36. #
  37. Set        SOMOptions        "-maddstar -mnoint -museinheritedmethods -mnomethodids -mcorbastring -mnoshortparents"
  38. Export    SOMOptions
  39.  
  40.     # NOTE: -maddstar adds the explict *, unlike in the CORBA IDL lanaguage.  This is the way most C/C++
  41.     # progammer's would expect to read source code with object references.
  42.     # NOTE: -mnoint supresses warnings on the use of the integer data type (not supported by CORBA)
  43.     # NOTE: -museinheritedmethods signals that in the xih bindings file, the inherited bindings should
  44.     # be used instead of regenerating the bindings again at each class level.  This saves space in the
  45.     # output file.
  46.     # NOTE: the options -mnomethodids and -mnoshortparents are used to turn off options that
  47.     # increase the size and complexity of the generated header files, in particular, the ih/xih files.
  48.     # These features are basically compile time convienances that turn out to be seldom used.
  49.     # Specifically, -mnomethodids turns off generation of method ids for each newly introduced method.
  50.     # These global variables are not properly garbage collected by all development systems, thus
  51.     # resulting in wasted space in the binary image produced even when these globals are not used by 
  52.     # by the class implementation programmer.  Thus methodids are therefore not generated by default.
  53.     # The option -mnoshortparents suppresses generation of "guarded", (with lots of #ifdefs) but
  54.     # potentially ambiguous parent call thru macros.  The standard .c/.cp emitter does not use
  55.     # these ambiguous forms when creating the boilerplate implementation files, but rather uses
  56.     # fully qualified parent call thru macros.  Since use of the short names can be problematic
  57.     # they are turned off by default.
  58.  
  59.